package edu.odu.cs.sstore.service;

import java.util.List;

import org.springframework.security.access.prepost.PreAuthorize;

import edu.odu.cs.sstore.dto.CourseDTO;

public interface CourseService {
 
	public CourseDTO getCourse(Long crn);
	
	@PreAuthorize("hasAuthority('ROLE_FACULTY')")
	public List<CourseDTO> getCourses();
	
	@PreAuthorize("isAuthenticated()")
	public List<CourseDTO> getRegisteredCourses();
	
	@PreAuthorize("hasAuthority('ROLE_FACULTY')")
	public CourseDTO createCourse(CourseDTO course);
	
	// TODO - lock down to the owner of the course
	public CourseDTO updateCourse(CourseDTO course);
	
	// TODO - lock down to the owner of the course
	public void deleteCourse(Long crn);
	
}
